package cn.com.xuhx.mapper;

import cn.com.xuhx.pojo.User;
import cn.com.xuhx.pojo.UserExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface UserMapper {
    /**
     * 根据条件统计
     * @param example
     * @return
     */
    long countByExample(UserExample example);

    /**
     * 根据条件删除
     * @param example
     * @return
     */
    int deleteByExample(UserExample example);

    /**
     * 根据主键删除
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 新增
     * @param record
     * @return
     */
    int insert(User record);

    /**
     * 自定义新增的字段
     * @param record
     * @return
     */
    int insertSelective(User record);

    /**
     * 根据条件查询
     * @param example
     * @return
     */
    List<User> selectByExample(UserExample example);

    /**
     * 根据主键查询
     * @param id
     * @return
     */
    User selectByPrimaryKey(Integer id);

    /**
     * 根据条件修改自定义的字段
     * @param record
     * @param example
     * @return
     */
    int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example);

    /**
     * 根据条件修改全部字段
     * @param record
     * @param example
     * @return
     */
    int updateByExample(@Param("record") User record, @Param("example") UserExample example);

    /**
     * 根据主键修改自定义的字段
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(User record);

    /**
     * 根据主键修改全部字段
     * @param record
     * @return
     */
    int updateByPrimaryKey(User record);
}